#!/bin/bash
#Date 2022/1/10
#mail it-arch
[ $(id -u) != "0" ] && echo "Error: You must be root to run this script" && exit 1
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
clear
echo "##########################################"
echo "#					      #"
echo "#   Auto yum安装 PHP5.5/5.6/7.0/7.1      #"
echo "#					       #"
echo "##########################################"
echo "1 Install PHP-5.5.38"
echo "2 Install PHP-5.6.29"
echo "3 Install PHP-7.0.14"
echo "4 Install PHP-7.1.0"
echo "5 EXIT"
read -p "Please input your choice:" I
if [ "$I" == "1" ];then
        URL="http://cn2.php.net/distributions/php-5.5.38.tar.gz"
	VER="php-5.5.38"
elif [ "$I" == "2" ];then
        URL="http://cn2.php.net/distributions/php-5.6.29.tar.gz"
	VER="php-5.6.29"
elif [ "$I" == "3" ];then
        URL="http://cn2.php.net/distributions/php-7.0.14.tar.gz"
	VER="php-7.0.14"
elif [ "$I" == "4" ];then
        URL="http://cn2.php.net/distributions/php-7.1.0.tar.gz"
	VER="php-7.1.0"
elif [ "$I" == "5" ];then
        echo "you choce channel!"
        exit 1;
else
        echo "input Error! Place input{1|2|3|4|5}"
        exit 0;
fi
read -p "Please input php install dirname:(example:/data/php)" DIR
if [ ! -d $DIR ];then
        mkdir -p $DIR
fi
if [ $? -eq 1 ];then
        echo "$DIR fail! Please intput ture dirname."
        exit 1
fi
clear
echo -e "\033[32m You choice install $VER.Install dirname:$DIR \033[0m"
echo -e "\033[32m Press any key to start install $VER... \033[0m"
read -n 1

which tar >/dev/null 2>&1
if [ $? -eq 0 ];then
	echo "tar is installed">/tmp/php-install.log
else
	yum install tar -y >/dev/null 2>&1
fi
TDIR="/tools"
yum install -y wget autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap libXpm* gcc gcc-c++ bison git ntpdate
ntpdate ntpdate time1.aliyun.com >/dev/null 2>&1
if [ ! -d $TDIR ];then
        /bin/mkdir $TDIR && cd $TDIR
fi
/usr/bin/wget -c -O $TDIR/$VER.tar.gz $URL
if [ $? -eq 0 ];then
        tar -zxvf $TDIR/$VER.tar.gz -C $TDIR
else
        yum install tar -y >/dev/null 2>&1
        tar -zxvf $TDIR/$VER.tar.gz >/dev/null 2>&1
fi
cd  $TDIR/$VER
if [ $? -eq 0 ];then
        ./configure --prefix=$DIR  --exec-prefix=$DIR  --bindir=$DIR/bin --sbindir=$DIR/sbin --includedir=$DIR/include --libdir=$DIR/lib/php --mandir=$DIR/php/man  --with-config-file-path=$DIR/etc --with-mysql-sock=/tmp/mysql.sock  --with-mhash --with-openssl --with-mysql=shared,mysqlnd --with-mysqli=shared,mysqlnd --with-pdo-mysql=shared,mysqlnd --with-gd --with-iconv --with-zlib --enable-zip --enable-inline-optimization  --enable-shared --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-mbregex --enable-mbstring --enable-ftp --enable-gd-native-ttf --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --without-pear --with-gettext --enable-session --with-curl --with-jpeg-dir --with-freetype-dir --enable-opcache --enable-fpm --enable-fastcgi --with-fpm-user=www --with-fpm-group=www --without-gdbm
fi
make && make install >>/tmp/php-install.log 2>&1
if [ $? -eq 0 ];then
        /bin/cp $DIR/etc/php-fpm.conf.default $DIR/etc/php-fpm.conf && cp $DIR/etc/php-fpm.d/www.conf.default $DIR/etc/php-fpm.d/www.conf && cp -R $DIR/sbin/php-fpm /etc/init.d/php-fpm && /bin/cp `find  /  -name php.ini-production` /data/php/etc/php.ini >>/tmp/php-install.log 2>&1
fi
id www
USER=`echo $?`
if [ $USER -eq 1 ];then
	useradd -s /sbin/nologin www
fi
echo "export PATH=$PATH:$DIR/bin">>/etc/profile  && source /etc/profile
/etc/init.d/php-fpm >>/tmp/php-install.log 2>&1
STAT=`echo $?`
PORT=`netstat -lntup|grep php-fpm|wc -l`
if [ $STAT -eq 0 ] && [ $PORT -eq 1 ];then
		echo -e "\033[32m $VER is install success! \033[0m"
else
		echo -e "\033[32m $VER install file.please check /tmp/php-install.log \033[0m"
fi
